home *** CD-ROM | disk | FTP | other *** search
- //----------------------------------------------------------------------------
- // filename : kmdichildfrmcaption.h
- //----------------------------------------------------------------------------
- // Project : KDE MDI extension
- //
- // begin : 07/1999 by Szymon Stefanek as part of kvirc
- // (an IRC application)
- // changes : 09/1999 by Falk Brettschneider to create an
- // - 06/2000 stand-alone Qt extension set of
- // classes and a Qt-based library
- // 2000-2003 maintained by the KDevelop project
- //
- // copyright : (C) 1999-2003 by Falk Brettschneider
- // and
- // Szymon Stefanek (stefanek@tin.it)
- // email : falkbr@kdevelop.org (Falk Brettschneider)
- //----------------------------------------------------------------------------
- //
- //----------------------------------------------------------------------------
- //
- // This program is free software; you can redistribute it and/or modify
- // it under the terms of the GNU Library General Public License as
- // published by the Free Software Foundation; either version 2 of the
- // License, or (at your option) any later version.
- //
- //----------------------------------------------------------------------------
- #ifndef _KMDI_CHILD_FRM_CAPTION_H_
- #define _KMDI_CHILD_FRM_CAPTION_H_
-
- #include <qwidget.h>
-
- #include "kmdidefines.h"
-
- class KMdiChildFrm;
-
-
- class KMdiChildFrmCaptionPrivate;
-
- /**
- * @short Internal class.
- *
- * It's the caption bar of a child frame widget.
- */
- class KMDI_EXPORT KMdiChildFrmCaption : public QWidget
- {
- Q_OBJECT
- public:
- /**
- * Constructor
- */
- KMdiChildFrmCaption( KMdiChildFrm *parent );
-
- /**
- * Destructor
- */
- ~KMdiChildFrmCaption();
-
- /**
- * Repaint the caption bar in active background colors
- */
- void setActive( bool bActive );
-
- /**
- * Repaint with a new caption bar title
- */
- void setCaption( const QString& text );
-
- /**
- * Returns the caption bar height depending on the used font
- */
- int heightHint();
-
- public slots:
- /**
- * Grabs the mouse, a move cursor, sets a move indicator variable to true and keeps the global mouse position in mind
- */
- void slot_moveViaSystemMenu();
-
- protected:
- /**
- * Draws the caption bar and its title using the settings
- */
- virtual void paintEvent( QPaintEvent *e );
-
- /**
- * The same as KMdiChildFrmCaption::slot_moveViaSystemMenu
- */
- virtual void mousePressEvent( QMouseEvent * );
-
- /**
- * Calls maximizePressed of the parent widget ( KMdiChildFrm )
- */
- virtual void mouseDoubleClickEvent( QMouseEvent * );
-
- /**
- * Restore the normal mouse cursor, set the state variable back to 'not moving'
- */
- virtual void mouseReleaseEvent( QMouseEvent * );
-
- /**
- * Checks if out of move range of the KMdiChildArea and calls KMdiChildFrm::move
- */
- virtual void mouseMoveEvent( QMouseEvent *e );
-
- /**
- * Computes a new abbreviated string from a given string depending on a given maximum width
- * @todo Replace with a call to a KStringHandler function instead of rolling our own
- */
- QString abbreviateText( QString origStr, int maxWidth );
-
- // attributes
- public:
- /**
- * the title string shown in the caption bar
- */
- QString m_szCaption;
-
- protected: // Protected attributes
- /**
- * parent widget
- */
- KMdiChildFrm *m_pParent;
-
- /**
- * state variable indicating whether activated or not activated
- */
- bool m_bActive;
-
- /**
- * the position offset related to its parent widget (internally used for translating mouse move positions
- */
- QPoint m_offset;
-
- /**
- * True if the child knows that it is currently being dragged.
- */
- bool m_bChildInDrag;
-
- private:
- KMdiChildFrmCaptionPrivate *d;
- };
-
- #endif //_KMDICAPTION_H_
-
- // kate: space-indent off; replace-tabs off; indent-mode csands; tab-width 4;
-